package com.huaxia.day18;

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

public class MyFrame {

    public  void create() {
        Frame frmMain = new Frame("主窗体");
        // 创建菜单栏
        MenuBar mb = new MenuBar();
        // 创建菜单
        Menu mnuFile = new Menu("文件"); // "文件"菜单
        Menu mnuEdit = new Menu("编辑");// "编辑"菜单
        // 创建菜单项
        MenuItem miOpen = new MenuItem("打开");         // "打开"菜单项
        MenuItem miSave = new MenuItem("保存");        // "保存"菜单项
        MenuItem miClose = new MenuItem("关闭");       // "关闭"菜单项
        MenuItem miCopy = new MenuItem("复制");        // "复制"菜单项
        MenuItem miPaste = new MenuItem("粘贴");       // "粘贴"菜单项

        frmMain.setSize(500, 500);
        frmMain.setLocation(100, 100);
        frmMain.setBackground(Color.white);
        frmMain.setVisible(true);
        frmMain.setLayout(null);
        frmMain.addWindowListener(new WindowHandler()); // 注册窗口监听器
        // 将菜单栏放入窗体中
        frmMain.setMenuBar(mb);
        // 将菜单放入菜单栏中
        mb.add(mnuFile);
        mb.add(mnuEdit);
        // 将菜单项放入菜单中
        mnuFile.add(miOpen);
        mnuFile.add(miSave);
        mnuFile.add(miClose);
        mnuEdit.add(miCopy);
        mnuEdit.add(miPaste);
        // 注册动作事件监听器
        miClose.setActionCommand("miClose_Clicked");
        miClose.addActionListener(new MenuHandler());

    }


    // 定义一个内部类，在这个类中编写窗口关闭事件处理程序。
    private class WindowHandler extends WindowAdapter {
        public void windowClosing(WindowEvent e) {
            System.exit(0); // 退出应用程序，状态码 0 表示正常终止，非 0 表示异常终止。
        }
    }

    // 定义一个内部类，在这个类中编写动作事件处理程序。
    private class MenuHandler implements ActionListener {
        public void actionPerformed(ActionEvent e) {
            if (e.getActionCommand() == "miClose_Clicked") {
                System.exit(0); // 退出应用程序
            }
        }
    }
}
